using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using BaseData.CommonLib.Models;
using Swimj.CommonLib.Base;

namespace BaseData.RazorLib.Services
{
    public interface ISupplierService
    {
        Task<PaginatedResult<SupplierInfoResponseDto>?> QuerySuppliersByPage(SupplierSearchRequestDto searchRequestDto);
    
        Task<Result<SupplierInfoResponseDto>?> UpdateSupplier(int key, SupplierEditRequestDto editRequestDto);
    
        Task<Result<SupplierInfoResponseDto>?> CreateSupplier(SupplierEditRequestDto editRequestDto);
    
        Task<Result<SupplierInfoResponseDto>?> GetSupplier(int key);

        Task<Result<IList<SupplierInfoResponseDto>>?> QuerySuppliers(SupplierSearchRequestDto searchRequestDto);
    }
}